/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package suministros.ejb30.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Renato
 */
@Entity
@Table(name = "Grupo_Suministros")
@NamedQueries({
    @NamedQuery(name = "GrupoSuministros.findAll", query = "SELECT g FROM GrupoSuministros g"),
    @NamedQuery(name = "GrupoSuministros.findByCodGrupoSumi", query = "SELECT g FROM GrupoSuministros g WHERE g.codGrupoSumi = :codGrupoSumi"),
    @NamedQuery(name = "GrupoSuministros.findByDescripciongrupo", query = "SELECT g FROM GrupoSuministros g WHERE g.descripciongrupo = :descripciongrupo"),
    @NamedQuery(name = "GrupoSuministros.findByFechaOperacion", query = "SELECT g FROM GrupoSuministros g WHERE g.fechaOperacion = :fechaOperacion"),
    @NamedQuery(name = "GrupoSuministros.findByAlta", query = "SELECT g FROM GrupoSuministros g WHERE g.alta = :alta"),
    @NamedQuery(name = "GrupoSuministros.findByCorrelativo", query = "SELECT g FROM GrupoSuministros g WHERE g.correlativo = :correlativo")})
public class GrupoSuministros implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "cod_Grupo_Sumi")
    private String codGrupoSumi;
    @Basic(optional = false)
    @Column(name = "Descripcion_grupo")
    private String descripciongrupo;
    @Basic(optional = false)
    @Column(name = "fecha_operacion")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaOperacion;
    @Basic(optional = false)
    @Column(name = "alta")
    private boolean alta;
    @Basic(optional = false)
    @Column(name = "correlativo")
    private int correlativo;
    @OneToMany(mappedBy = "codgrupoantecesorSumi")
    private List<GrupoSuministros> grupoSuministrosList;
    @JoinColumn(name = "cod_grupo_antecesor_Sumi", referencedColumnName = "cod_Grupo_Sumi")
    @ManyToOne
    private GrupoSuministros codgrupoantecesorSumi;
    @JoinColumn(name = "tipo_suministros", referencedColumnName = "id_tabla_tipo")
    @ManyToOne
    private Tipo tipoSuministros;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "codGrupoSumi")
    private List<Suministros> suministrosList;
     @Column(name = "ctacomp")
    private String cuenta_compra;
    @Column(name = "ctaser")
    private String cuenta_servicio;
   @Column(name = "ctaalm")
    private String cuenta_almacen;
   @Column(name = "ctatran")
    private String cuenta_transferencia;
   @Column(name = "ctavarex")
    private String cuenta_varex;
   @Column(name = "ctaprov")
    private String cuenta_prov;
   @Column(name = "ctalink")
    private String cuenta_link;
   @Column(name = "sobobra")
    private String cuenta_obra;
   @Column(name = "impuesto")
    private String cuenta_impuesto;
   @Column(name = "actmat")
    private String cuenta_materiales;
   @Column(name = "actpro")
    private String cuenta_actpro;
   @Column(name = "serpro")
    private String cuenta_serpro;
    @Column(name = "donacion")
    private String cuenta_donacion;
    @Column(name = "otros")
    private String cuenta_otros;
    @Column(name = "ctainv")
    private String cuenta_inversion;
    @Column(name = "acmd")
    private String cuenta_acmd;
    @Column(name = "acmh")
    private String cuenta_acmh;
    @Column(name = "ctafona")
    private String cuenta_ctafona;
    @Column(name = "cta4ta")
    private String cuenta_cta4ta;
    @Column(name = "cta721")
    private String cuenta_cta721;
    @Column(name = "ctaod")
    private String cuenta_ctaod;
    @Column(name = "ctaoh")
    private String cuenta_ctaoh;
    @Column(name = "ctaodi")
    private String cuenta_ctaodi;
    @Column(name = "ctarec")
    private String cuenta_ctarec;
    @Column(name = "credfis")
    private String cuenta_credfis;


    public GrupoSuministros() {
    }

    public GrupoSuministros(String codGrupoSumi) {
        this.codGrupoSumi = codGrupoSumi;
    }

    public GrupoSuministros(String codGrupoSumi, String descripciongrupo, Date fechaOperacion, boolean alta, int correlativo) {
        this.codGrupoSumi = codGrupoSumi;
        this.descripciongrupo = descripciongrupo;
        this.fechaOperacion = fechaOperacion;
        this.alta = alta;
        this.correlativo = correlativo;
    }

    public String getCuenta_acmd() {
        return cuenta_acmd;
    }

    public void setCuenta_acmd(String cuenta_acmd) {
        this.cuenta_acmd = cuenta_acmd;
    }

    public String getCuenta_acmh() {
        return cuenta_acmh;
    }

    public void setCuenta_acmh(String cuenta_acmh) {
        this.cuenta_acmh = cuenta_acmh;
    }

    public String getCuenta_actpro() {
        return cuenta_actpro;
    }

    public void setCuenta_actpro(String cuenta_actpro) {
        this.cuenta_actpro = cuenta_actpro;
    }

    public String getCuenta_almacen() {
        return cuenta_almacen;
    }

    public void setCuenta_almacen(String cuenta_almacen) {
        this.cuenta_almacen = cuenta_almacen;
    }

    public String getCuenta_credfis() {
        return cuenta_credfis;
    }

    public void setCuenta_credfis(String cuenta_credfis) {
        this.cuenta_credfis = cuenta_credfis;
    }

    public String getCuenta_cta4ta() {
        return cuenta_cta4ta;
    }

    public void setCuenta_cta4ta(String cuenta_cta4ta) {
        this.cuenta_cta4ta = cuenta_cta4ta;
    }

    public String getCuenta_cta721() {
        return cuenta_cta721;
    }

    public void setCuenta_cta721(String cuenta_cta721) {
        this.cuenta_cta721 = cuenta_cta721;
    }

    public String getCuenta_ctafona() {
        return cuenta_ctafona;
    }

    public void setCuenta_ctafona(String cuenta_ctafona) {
        this.cuenta_ctafona = cuenta_ctafona;
    }

    public String getCuenta_ctaod() {
        return cuenta_ctaod;
    }

    public void setCuenta_ctaod(String cuenta_ctaod) {
        this.cuenta_ctaod = cuenta_ctaod;
    }

    public String getCuenta_ctaodi() {
        return cuenta_ctaodi;
    }

    public void setCuenta_ctaodi(String cuenta_ctaodi) {
        this.cuenta_ctaodi = cuenta_ctaodi;
    }

    public String getCuenta_ctaoh() {
        return cuenta_ctaoh;
    }

    public void setCuenta_ctaoh(String cuenta_ctaoh) {
        this.cuenta_ctaoh = cuenta_ctaoh;
    }

    public String getCuenta_ctarec() {
        return cuenta_ctarec;
    }

    public void setCuenta_ctarec(String cuenta_ctarec) {
        this.cuenta_ctarec = cuenta_ctarec;
    }

    public String getCuenta_donacion() {
        return cuenta_donacion;
    }

    public void setCuenta_donacion(String cuenta_donacion) {
        this.cuenta_donacion = cuenta_donacion;
    }

    public String getCuenta_impuesto() {
        return cuenta_impuesto;
    }

    public void setCuenta_impuesto(String cuenta_impuesto) {
        this.cuenta_impuesto = cuenta_impuesto;
    }

    public String getCuenta_inversion() {
        return cuenta_inversion;
    }

    public void setCuenta_inversion(String cuenta_inversion) {
        this.cuenta_inversion = cuenta_inversion;
    }

    public String getCuenta_link() {
        return cuenta_link;
    }

    public void setCuenta_link(String cuenta_link) {
        this.cuenta_link = cuenta_link;
    }

    public String getCuenta_materiales() {
        return cuenta_materiales;
    }

    public void setCuenta_materiales(String cuenta_materiales) {
        this.cuenta_materiales = cuenta_materiales;
    }

    public String getCuenta_obra() {
        return cuenta_obra;
    }

    public void setCuenta_obra(String cuenta_obra) {
        this.cuenta_obra = cuenta_obra;
    }

    public String getCuenta_otros() {
        return cuenta_otros;
    }

    public void setCuenta_otros(String cuenta_otros) {
        this.cuenta_otros = cuenta_otros;
    }

    public String getCuenta_prov() {
        return cuenta_prov;
    }

    public void setCuenta_prov(String cuenta_prov) {
        this.cuenta_prov = cuenta_prov;
    }

    public String getCuenta_serpro() {
        return cuenta_serpro;
    }

    public void setCuenta_serpro(String cuenta_serpro) {
        this.cuenta_serpro = cuenta_serpro;
    }

    public String getCuenta_transferencia() {
        return cuenta_transferencia;
    }

    public void setCuenta_transferencia(String cuenta_transferencia) {
        this.cuenta_transferencia = cuenta_transferencia;
    }

    public String getCuenta_varex() {
        return cuenta_varex;
    }

    public void setCuenta_varex(String cuenta_varex) {
        this.cuenta_varex = cuenta_varex;
    }

    public String getCuenta_compra() {
        return cuenta_compra;
    }

    public void setCuenta_compra(String cuenta_compra) {
        this.cuenta_compra = cuenta_compra;
    }

    public String getCuenta_servicio() {
        return cuenta_servicio;
    }

    public void setCuenta_servicio(String cuenta_servicio) {
        this.cuenta_servicio = cuenta_servicio;
    }

    
    public String getCodGrupoSumi() {
        return codGrupoSumi;
    }

    public void setCodGrupoSumi(String codGrupoSumi) {
        this.codGrupoSumi = codGrupoSumi;
    }

    public String getDescripciongrupo() {
        return descripciongrupo;
    }

    public void setDescripciongrupo(String descripciongrupo) {
        this.descripciongrupo = descripciongrupo;
    }

    public Date getFechaOperacion() {
        return fechaOperacion;
    }

    public void setFechaOperacion(Date fechaOperacion) {
        this.fechaOperacion = fechaOperacion;
    }

    public boolean getAlta() {
        return alta;
    }

    public void setAlta(boolean alta) {
        this.alta = alta;
    }

    public int getCorrelativo() {
        return correlativo;
    }

    public void setCorrelativo(int correlativo) {
        this.correlativo = correlativo;
    }

    public List<GrupoSuministros> getGrupoSuministrosList() {
        return grupoSuministrosList;
    }

    public void setGrupoSuministrosList(List<GrupoSuministros> grupoSuministrosList) {
        this.grupoSuministrosList = grupoSuministrosList;
    }

    public GrupoSuministros getCodgrupoantecesorSumi() {
        return codgrupoantecesorSumi;
    }

    public void setCodgrupoantecesorSumi(GrupoSuministros codgrupoantecesorSumi) {
        this.codgrupoantecesorSumi = codgrupoantecesorSumi;
    }

    public Tipo getTipoSuministros() {
        return tipoSuministros;
    }

    public void setTipoSuministros(Tipo tipoSuministros) {
        this.tipoSuministros = tipoSuministros;
    }

    public List<Suministros> getSuministrosList() {
        return suministrosList;
    }

    public void setSuministrosList(List<Suministros> suministrosList) {
        this.suministrosList = suministrosList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (codGrupoSumi != null ? codGrupoSumi.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {

        if (!(object instanceof GrupoSuministros)) {
            return false;
        }
        GrupoSuministros other = (GrupoSuministros) object;
        if ((this.codGrupoSumi == null && other.codGrupoSumi != null) || (this.codGrupoSumi != null && !this.codGrupoSumi.equals(other.codGrupoSumi))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "suministros.ejb30.entity.GrupoSuministros[codGrupoSumi=" + codGrupoSumi + "]";
    }

}
